package com.bestcem.xm.user.constant;

import lombok.AccessLevel;
import lombok.NoArgsConstructor;

/**
 * 业务常量
 *
 * @author wangyunyun <yunyun.wang@idiaoyan.com>
 * @version v1.0
 * @date 2022/2/7 14:00
 */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class BusinessConstant {

    /**
     * 层级数最小值
     */
    public static final int USER_LEVEL_MIN_COUNT = 2;

    /**
     * 层级数最大值
     */
    public static final int USER_LEVEL_MAX_COUNT = 15;

    /**
     * 层级名称最大长度限制
     */
    public static final int USER_LEVEL_NAME_MAX_LENGTH = 30;

    /**
     * 层级名称非法首尾字符
     */
    public static final String USER_LEVEL_NAME_ILLEGAL_START_OR_END = "'";

    /**
     * 如果层级名称存在特殊字符导致无法下载，将该层级名称替换为“名称替换特殊字符_自增序号”
     */
    public static final String USER_LEVEL_NAME_ILLEGAL_REPLACE = "名称替换特殊字符_%d";

    /**
     * 组织数最大值
     */
    public static final int USER_GROUP_MAX_COUNT = 100000;

    /**
     * 组织数最大值-字符串
     */
    public static final String USER_GROUP_MAX_COUNT_STR = "10万";

    /**
     * 组织名称最大长度限制
     */
    public static final int USER_GROUP_NAME_MAX_LENGTH = 30;

    /**
     * 组织编码最大长度限制
     */
    public static final int USER_GROUP_CODE_MAX_LENGTH = 30;

    /**
     * 免费版套餐公司过期时限
     */
    public static final int ORG_PACK_EDITION_FREE_EXPIRE_DAYS = 14;

    /**
     * 账号名姓名长度限制
     */
    public static final int USERNAME_MAX_LENGTH = 60;

    /**
     * 账号名姓名正则表达式
     */
    public static final String USERNAME_REG = "[\\u4e00-\\u9fa5-0-9a-zA-Z_\\-]{1,30}";

}
